The present invention relates generally to digital image compression/decompression, and particularly, to a wavelet-based system and method of image compression and decompression.
Nearly every computer user needs to store, transfer, and view images. These images include still images, or pictures, as well as video images, which are sequences of still images displayed in a manner that depicts motion. The enormous size of image files leads to serious file management limitations. For example, a single still image (equivalent to a video frame) displayed by a rectangular array of picture elements (pixels) arranged in 640 rows and 800 columns, with the color of each pixel represented by twenty-four bits, would require over 1.5 megabytes of digital memory to store. One solution to this problem is high-quality data compression technology. Essentially, image compression mathematically transforms a grid of image pixels into a new, much smaller set of digital values holding the information needed to regenerate the original image or data file.
In addition to imaging systems, compression technology can be incorporated into xe2x80x9cvideo on demandxe2x80x9d systems, such as video servers. Compression technology can also be applied to streaming video, which is the real-time capture and display of video images over a communications link. Applications for streaming video include video telephones, remote security systems, and other types of monitoring systems.
Several standards for compressing real-time video currently exist. The H.263 standard for real-time video is an industry standard based upon the discrete co-sign transform (DCT). DCT is also the basis for both of the public domain image compression standards, MPEG (Motion Picture Experts Group) and JPEG (Joint Photographic Experts Group). Although the DCT approach performs interframe coding adequately, its compression ratio and speed can be improved upon.
Various other types of data compression have been developed in recent years. Conventional data compression techniques are generally referred to as being either xe2x80x9closslessxe2x80x9d or xe2x80x9clossyxe2x80x9d, depending upon whether data is discarded in the compression process. Examples of conventional lossless compression techniques include Huffman encoding, arithmetic encoding, and Fano-Shannon encoding. With a lossless compression, the decompression process will reproduce all bits of the original image. Lossless compression is important for images found in such applications as medical and space science. In such situations, the designer of the compression algorithm must be very careful to avoid discarding any information that may be required or even useful at some later point.
Lossy compression, in contrast, provides greater efficiency over lossless compression in terms of speed and storage, as some data is discarded. As a result, lossy techniques are employed where some degree of inaccuracy relative to the input data is tolerable. Accordingly, lossy compression is frequently used in video or commercial image processing. Two popular lossy image compression standards are the MPEG and JPEG compression methods.
The wavelet transform has proven to be one of the most powerful tools in the field of data compression. Theoretically, the wavelet transformation is lossless, but since all computers have only finite precision even when using floating point calculations, most of the transformations are lossy in practice. On the other hand, integer calculations are much faster than floating point for virtually all computers; and integer computations are much easier to implement in hardware, which is more important in some applications. While integers require less memory than real numbers, the direct use of integers in conventional wavelet transforms and their inverses typically causes an unacceptable loss of accuracy. Accordingly, there is a need for a wavelet-based compression technique that permits lossless or near-lossless data compression, yet retains the speed and memory advantages of integer arithmetic.
It is an advantage of the present invention to provide a system and method of wavelet-based data compression that permits integer computations in a computer without significant loss of accuracy. This is accomplished by using an integer reversible wavelet transform that possesses a property of precision preservation (PPP). The integer reversible transform greatly reduces the computer resources needed to compress and decompress images, as well as the time required to perform the same.
It is an advantage of the present invention to provide a system and method of wavelet-based image compression that is suitable for both still and video images.
It is also an advantage of the present invention to provide a system and method of image compression that is capable of selectively performing lossless and lossy compression of either color or gray-scale images.
According to one aspect of the invention, a wavelet-based image compression method can be implemented using a software program. Compression is accomplished by performing a wavelet transform on an input digital image. The resulting wavelet components are compared to a threshold value; coefficients falling below the threshold are discarded. The remaining coefficients are quantized. The quantized coefficients are then compressed using an entropy encoding technique, such as arithmetic, run length, or Huffman encoding, or a combination of Huffman and run length encoding. The wavelet transform can be an integer reversible wavelet transform derived using a lifting scheme or correction method, while the quantization scheme can be sub-band oriented. To further enhance the speed of the compression scheme, input color image pixels can be reduced using a color table. In addition, color pixels can be transformed between color spaces prior to wavelet transformation.
According to another aspect of the invention, a corresponding method of decompression is provided.
According to another aspect of the present invention, a compression method is provided that allows user selected portions of an image to be compressed to different image qualities, thereby permitting non-uniform image compression.
According to another aspect of the present invention, a compression method is provided that permits compression quality to be based on image specific parameters.
According to another aspect of the present invention, a method of compressing images using a xe2x80x9csplit and mergexe2x80x9d technique is provided.
According to further aspect of the present invention, an image compression system includes a compressor configured to generate a compressed image based on an integer wavelet transform derived using either a lifting scheme or correction method. The compressor can be implemented using one or more electronic components, such as application specific integrated circuits (ASICs), microprocessors, discrete logic components, or any combination of the aforementioned.
According to another aspect of the present invention, a corresponding image decompression system is provided.